[package]

authors = [
    "Michael Aaron Murphy <mmstickman@gmail.com>",
    "Jeremy Soller <jackpot51@gmail.com>",
    "Skyler Berg <skylertheberg@gmail.com>",
    "stratact <stratact1@gmail.com>",
    "AdminXVII <dev.xlheureux@gmail.com>",
    "Hunter Goldstein <hunter.d.goldstein@gmail.com>",
    "jD91mZM2 <me@krake.one>",
    "Agustin Chiappe Berrini <jnieve@gmail.com>",
    "Sag0Sag0 <Sag0Sag0@users.noreply.github.com>",
]
build = "build.rs"
categories = ["command-line-utilities", "config"]
description = "The Ion Shell"
documentation = "https://doc.redox-os.org/ion-manual/"
edition = "2018"
keywords = ["shell", "script", "program", "config", "configuration"]
license-file = "LICENSE"
name = "ion-shell"
readme = "README.md"
repository = "https://gitlab.redox-os.org/redox-os/ion"
version = "1.0.0-alpha"

[badges]
gitlab = { repository = "https://gitlab.redox-os.org/redox-os/ion", branch = "master" }
maintenance = { status = "experimental" }

[features]
man = ["builtins-proc/man"]
piston = ["piston-ai_behavior", "piston_window", "piston2d-sprite"]
unicode = ["regex/unicode"]

[workspace]
members = [ "members/builtins-proc", "members/ranges", "members/scopes-rs", "members/types-rs" ]

[dev-dependencies]
criterion = "0.3"
serial_test = "*"
serial_test_derive = "*"

[[bench]]
name = "terminator"
harness = false

[[bench]]
name = "statement"
harness = false

[[example]]
name = "window"
required-features = ["piston"]

[[bin]]
name = "ion"
path = "src/main.rs"

[dependencies]
kira = "0.6.0"
calculate = { git = "https://gitlab.redox-os.org/redox-os/calc" }
thiserror = "1.0"
glob = "0.3"
redox_liner = { git = "https://gitlab.redox-os.org/redox-os/liner" }
rand = "0.7"
regex = { version = "1.3", default-features = false, features = ["std", "perf"] }
small = { git = "https://gitlab.redox-os.org/redox-os/small", features = ["std"] }
smallvec = "1.4"
unicode-segmentation = "1.6"
ion-ranges = { version = "0.1", path = "members/ranges" }
scopes = { version = "0.1", path = "members/scopes-rs" }
types-rs = { version = "0.1", path = "members/types-rs" }
builtins-proc = { version = "0.1", path = "members/builtins-proc" }
itertools = "0.9"
lexical = "5.2"
object-pool = { git = "https://github.com/CJP10/object-pool.git", rev = "b7461b6ad6dcc93e69c3eee378895ea8593d880e" }
auto_enums = "0.7"
atty = "0.2"
permutate = "0.3"
xdg = "2.4"
#nix = "0.23"
# FIXME: Needed because of https://github.com/nix-rust/nix/commit/ff6f8b8a26c8d61f4341e441acf405402b46a430
nix = { git = "https://github.com/nix-rust/nix.git", rev = "ff6f8b8a" }
mktemp = "0.4"


# window example
piston-ai_behavior = { version = "0.31", optional = true }
piston_window = { version = "0.120", optional = true }
piston2d-sprite = { version = "0.58", optional = true }

[target."cfg(all(unix, not(target_os = \"redox\")))".dependencies]
users = "0.10"

[target."cfg(target_os = \"redox\")".dependencies]
redox_users = "0.4.3"

[target."cfg(target_os = \"dragonfly\")".dependencies]
errno-dragonfly = "0.1.1"

[lib]
path = "src/lib/lib.rs"

[profile.dev]
opt-level = 0
debug = true

[profile.release]
lto = true
panic = "abort"

# Required to make `cargo vendor` work
[patch.crates-io]
termion = { git = "https://gitlab.redox-os.org/redox-os/termion" }
redox_liner = { git = "https://gitlab.redox-os.org/redox-os/liner" }
